Extensible Metatheory Mechanization via Family Polymorphism
نویسندگان
چکیده
With the growing practice of mechanizing language metatheories, it has become ever more pressing that interactive theorem provers make easy to write reusable, extensible code and proofs. This paper presents a novel design geared towards metatheory mechanization in proof assistant. The new achieves reuse extensibility via form family polymorphism, an object-oriented idea, allows proofs be polymorphic their enclosing families. Our development addresses technical challenges arise from underlying assistant being simultaneously functional, dependently typed, logic, tool. results include (1) prototypical implementation as Coq plugin, (2) dependent type theory capturing essence mechanism its consistency canonicity results, (3) case studies showing how expressiveness naturally real programming mechanization.
منابع مشابه
Theoretical and implementation aspects in the mechanization of the metatheory of programming languages
Interactive theorem provers are tools designed for the certification of formal proofs developed by means of man-machine collaboration. Formal proofs obtained in this way cover a large variety of logical theories, ranging from the branches of mainstream mathematics, to the field of software verification. The border between these two worlds is marked by results in theoretical computer science and...
متن کاملBounded Polymorphism for Extensible Objects
In the ECOOP’97 conference, the author of the present paper investigated a conservative extension, called Ob+1<:, of the first-order Object Calculus Ob1<: of Abadi and Cardelli, supporting method extension in presence of object subsumption. In this paper, we extend that work with explicit variance annotations and selftypes. The resulting calculus, called Ob+s<:, is a proper extension of Ob+1<:....
متن کاملAn extensible approach to session polymorphism
Session types describe and constrain the input/output behavior of systems. Existing session typing systems have limited support for polymorphism. For example, existing systems cannot provide the most general type for a generic proxy process that forwards messages between two channels. We provide a polymorphic session typing system for the π calculus, and demonstrate the utility of session-type-...
متن کاملFamily Polymorphism
This paper takes polymorphism to the multi-object level. Traditional inheritance, polymorphism, and late binding interact nicely to provide both flexibility and safety – when a method is invoked on an object via a polymorphic reference, late binding ensures that we get the appropriate implementation of that method for the actual object. We are granted the flexibility of using different kinds of...
متن کاملExtensible Adaptation via Constraint Solving
This work presents the design, implementation, and evaluation of a simple programming language for expressing scheduling policies for transmission of multiple objects across a shared network connection. A key design component of the language is the ability to express constraints among the objects to be transmitted. Policies can: make ordering constraints, such as “all text objects are transmitt...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on programming languages
سال: 2023
ISSN: ['2475-1421']
DOI: https://doi.org/10.1145/3591286